Data encryption is known that uses streaming ciphers, block ciphers or one time pads. Streaming and block ciphers are widely used even though they are not mathematically provable to be 100% secure. These can use asymmetric (or public key) cryptography. The keys are typically of a fixed size and may be static. A calculation is done one each side to encrypt or decrypt the data. In a typical public key scenario, a sender uses the public key of a public-key and private-key pair to encrypt a message. The receiver uses the corresponding private key to decrypt the message. Security is provided because it is generally computationally infeasible to derive the private key from the public key.
One-time pads (“OTP's”) were invented early on in the 20th century and are the only provably secure cryptosystem. In a manual one time pad scenario, the sender has a pad of paper on which is written randomly chosen key letters. The key is the same size as the message. In one implementation, the sender adds one key letter to each plaintext letter to produce cipher text, and never repeat the key letters. For example, assume the message is “YES” and the pad letters are “CMG”. You add Y (25) to C (3) to get B (26+3=2 modulo 26), or E (5) to M (13) to get R (18). The sender then destroys the paper. The receiver reverses the process using his pad of paper (the encryption is thus symmetric), and then burns the key letters when he is done.
Because the key is the same size as the plaintext, every possible plaintext is equally likelyand it is impossible for an attacker to tell when the correct decryption has been derived. See e.g., Schneier, Secrets and Lies: Digital Security In a Networked World (Wiley Publishing, 2000).
Some streaming ciphers attempt to approximate a pseudo One Time Pad (OTP) operation. In such scenarios, the transmitter and receiver independently but synchronously generate the same key. Because the keys are calculated and not truly random, they can sometimes be cracked (the key is insecure because it is calculated) but may provide adequate security depending on the context and cryptographic algorithms used. Streaming cipher calculations can sometimes take considerably more time than a single add or exclusive OR operation as is used in certain one time pad implementations, but this calculation time can have different impacts depending on context.
Even in systems that are still secure now, history has shown exploits will be found over time. Accordingly further improvements are desirable.